program representation
- Asia > Middle East > Iran > Tehran Province > Tehran (0.04)
- North America > United States > Iowa > Story County > Ames (0.04)
- North America > United States > California > Santa Clara County > Santa Clara (0.04)
- Europe > Greece (0.04)
PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis
The remarkable growth and significant success of machine learning have expanded its applications into programming languages and program analysis. However, a key challenge in adopting the latest machine learning methods is the representation of programming languages which has a direct impact on the ability of machine learning methods to reason about programs. The absence of numerical awareness, aggregate data structure information, and improper way of presenting variables in previous representation works have limited their performances. To overcome the limitations and challenges of current program representations, we propose a novel graph-based program representation called PERFOGRAPH. PERFOGRAPH can capture numerical information and the aggregate data structure by introducing new nodes and edges. Furthermore, we propose an adapted embedding method to incorporate numerical awareness.These enhancements make PERFOGRAPH a highly flexible and scalable representation that can effectively capture programs' intricate dependencies and semantics. Consequently, it serves as a powerful tool for various applications such as program analysis, performance optimization, and parallelism discovery. Our experimental results demonstrate that PERFOGRAPH outperforms existing representations and sets new state-of-the-art results by reducing the error rate by 7.4% (AMD dataset) and 10% (NVIDIA dataset) in the well-known Device Mapping challenge. It also sets new state-of-the-art results in various performance optimization tasks like Parallelism Discovery and Numa and Prefetchers Configuration prediction.
Behavioral Embeddings of Programs: A Quasi-Dynamic Approach for Optimization Prediction
Pan, Haolin, Dong, Jinyuan, Zhang, Hongbin, Lin, Hongyu, Xing, Mingjie, Wu, Yanjun
Learning effective numerical representations, or embeddings, of programs is a fundamental prerequisite for applying machine learning to automate and enhance compiler optimization. Prevailing paradigms, however, present a dilemma. Static representations, derived from source code or intermediate representation (IR), are efficient and deterministic but offer limited insight into how a program will behave or evolve under complex code transformations. Conversely, dynamic representations, which rely on runtime profiling, provide profound insights into performance bottlenecks but are often impractical for large-scale tasks due to prohibitive overhead and inherent non-determinism. This paper transcends this trade-off by proposing a novel quasi-dynamic framework for program representation. The core insight is to model a program's optimization sensitivity. We introduce the Program Behavior Spectrum, a new representation generated by probing a program's IR with a diverse set of optimization sequences and quantifying the resulting changes in its static features. To effectively encode this high-dimensional, continuous spectrum, we pioneer a compositional learning approach. Product Quantization is employed to discretize the continuous reaction vectors into structured, compositional sub-words. Subsequently, a multi-task Transformer model, termed PQ-BERT, is pre-trained to learn the deep contextual grammar of these behavioral codes. Comprehensive experiments on two representative compiler optimization tasks -- Best Pass Prediction and -Oz Benefit Prediction -- demonstrate that our method outperforms state-of-the-art static baselines. Our code is publicly available at https://github.com/Panhaolin2001/PREP/.
- Information Technology > Artificial Intelligence > Representation & Reasoning (1.00)
- Information Technology > Artificial Intelligence > Machine Learning > Statistical Learning (1.00)
- Information Technology > Artificial Intelligence > Machine Learning > Neural Networks > Deep Learning (1.00)
- (2 more...)
- Asia > Middle East > Iran > Tehran Province > Tehran (0.04)
- North America > United States > Iowa > Story County > Ames (0.04)
- North America > United States > California > Santa Clara County > Santa Clara (0.04)
- Europe > Greece (0.04)
Agentic AI for Software: thoughts from Software Engineering community
AI agents have recently shown significant promise in software engineering. Much public attention has been transfixed on the topic of code generation from Large Language Models (LLMs) via a prompt. However, software engineering is much more than programming, and AI agents go far beyond instructions given by a prompt. At the code level, common software tasks include code generation, testing, and program repair. Design level software tasks may include architecture exploration, requirements understanding, and requirements enforcement at the code level. Each of these software tasks involves micro-decisions which can be taken autonomously by an AI agent, aided by program analysis tools. This creates the vision of an AI software engineer, where the AI agent can be seen as a member of a development team. Conceptually, the key to successfully developing trustworthy agentic AI-based software workflows will be to resolve the core difficulty in software engineering - the deciphering and clarification of developer intent. Specification inference, or deciphering the intent, thus lies at the heart of many software tasks, including software maintenance and program repair. A successful deployment of agentic technology into software engineering would involve making conceptual progress in such intent inference via agents. Trusting the AI agent becomes a key aspect, as software engineering becomes more automated. Higher automation also leads to higher volume of code being automatically generated, and then integrated into code-bases. Thus to deal with this explosion, an emerging direction is AI-based verification and validation (V & V) of AI generated code. We posit that agentic software workflows in future will include such AIbased V&V.
EZNAS: Evolving Zero-Cost Proxies For Neural Architecture Scoring Y ash Akhauri 1 J. Pablo Muñoz
NASBench-201 consists of 15,625 neural networks trained on the CIFAR-10, CIFAR-100 and ImageNet-16-120 datasets. Neural Networks in Network Design Spaces (NDS) uses the DARTS Liu et al. [2019] The networks are comprised of cells sampled from each of AmoebaNet Real et al. [2019], There exists approximately 5000 neural network architectures in each NDS design space. Our initial attempts at discovering ZC-NASMs took a different approach to program representation. To store intermediate scalars generated by the program, we allocate 20 memory addresses. ID and the third and fourth integers provide the read addresses for the operation.
InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments
Orvalho, Pedro, Janota, Mikoláš, Manquinho, Vasco
Due to the vast number of students enrolled in programming courses, there has been an increasing number of automated program repair techniques focused on introductory programming assignments (IPAs). Typically, such techniques use program clustering to take advantage of previous correct student implementations to repair a new incorrect submission. These repair techniques use clustering methods since analyzing all available correct submissions to repair a program is not feasible. However, conventional clustering methods rely on program representations based on features such as abstract syntax trees (ASTs), syntax, control flow, and data flow. This paper proposes InvAASTCluster, a novel approach for program clustering that uses dynamically generated program invariants to cluster semantically equivalent IPAs. InvAASTCluster's program representation uses a combination of the program's semantics, through its invariants, and its structure through its anonymized abstract syntax tree (AASTs). Invariants denote conditions that must remain true during program execution, while AASTs are ASTs devoid of variable and function names, retaining only their types. Our experiments show that the proposed program representation outperforms syntax-based representations when clustering a set of correct IPAs. Furthermore, we integrate InvAASTCluster into a state-of-the-art clustering-based program repair tool. Our results show that InvAASTCluster advances the current state-of-the-art when used by clustering-based repair tools by repairing around 13% more students' programs, in a shorter amount of time.
- North America > United States > Minnesota > Hennepin County > Minneapolis (0.14)
- North America > United States > California > San Diego County > San Diego (0.04)
- Europe > Portugal > Lisbon > Lisbon (0.04)
- (22 more...)
- Education > Educational Setting (0.93)
- Education > Educational Technology > Educational Software > Computer Based Training (0.67)
- Education > Curriculum (0.67)
PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis
The remarkable growth and significant success of machine learning have expanded its applications into programming languages and program analysis. However, a key challenge in adopting the latest machine learning methods is the representation of programming languages which has a direct impact on the ability of machine learning methods to reason about programs. The absence of numerical awareness, aggregate data structure information, and improper way of presenting variables in previous representation works have limited their performances. To overcome the limitations and challenges of current program representations, we propose a novel graph-based program representation called PERFOGRAPH. PERFOGRAPH can capture numerical information and the aggregate data structure by introducing new nodes and edges.
BANSAI: Towards Bridging the AI Adoption Gap in Industrial Robotics with Neurosymbolic Programming
Alt, Benjamin, Dvorak, Julia, Katic, Darko, Jäkel, Rainer, Beetz, Michael, Lanza, Gisela
Deep neural networks and subsymbolic learning have progressed In this paper, we propose that neurosymbolic programming tremendously over the past decade, producing increasingly - a principled combination of symbolic AI and deep learning promising results in the domain of program synthesis and (DL) for program representation, synthesis and optimization robot control [1]. While the use of robots in the manufacturing - can overcome this gap. We describe BANSAI (Bridging industries is ubiquitous, the current degree of industry adoption the AI Adoption Gap via Neurosymbolic AI), an approach for of artificial intelligence-based robot program synthesis and optimization the application of neurosymbolic programming to industrial remains very limited, particularly with regard to deep robotics. To that end, we contribute an analysis of the AI adoption learning (DL) [2]. This reflects a broader phenomenon in the gap, highlighting a mismatch between the requirements manufacturing industry, where artificial intelligence (AI) adoption imposed by the industrial robot programming and deployment lags behind the academic state of the art, with a "lack of process and the exigencies of state-of-the-art AI-based manipulation, substantial evidence of industrial success" at technology readiness program synthesis and optimization approaches.
- Europe > Germany > Bremen > Bremen (0.14)
- Europe > Germany > Baden-Württemberg > Karlsruhe Region > Karlsruhe (0.05)
- North America > United States (0.04)
- Europe > Greece (0.04)